//
// CDVCaptureFilter.h
//

#ifndef __H_CDVCaptureFilter__
#define __H_CDVCaptureFilter__

#include "CDXFilter.h"

class CDVCaptureFilter : public CDXFilter  
{
private:
	char	mDeviceName[256];
	
	IAMExtDevice *			mDevice;
	IAMExtTransport *		mTransport;
	IAMTimecodeReader *		mTimeReader;

public:
	CDVCaptureFilter(IGraphBuilder * inGraph, const char * inDeviceName);
	virtual ~CDVCaptureFilter(void);

	virtual BOOL CreateFilter(void);
	virtual void ReleaseFilter(void);

	IPin * GetAVOutputPin(void);
	IPin * GetVideoOutputPin(void);

	BOOL IsVCR(void);  // VCR or Camera
	BOOL IsPAL(void);

	BOOL Play(void);   // Controls
	BOOL Stop(void);
	BOOL Pause(void);
	BOOL FastForward(void);
	BOOL Rewind(void);
	long GetMode(void);

	BOOL GetTimeCode(void);
};

#endif // __H_CDVCaptureFilter__
